Синхронизация объектов, содержащих специальные символы

Введение

При синхронизации объектов из доменов Microsoft Active Directory в домен ALD Pro возникает ряд проблем: домены MS AD позволяют создавать объекты с любым типом символов (буквенные, цифровые, специальные и т.д.). Домен ALD Pro имеет ряд ограничений в валидации объектов и их атрибутов. Для устранения данной проблемы администратор домена имеет возможность заменить запрещенные символы с помощью редактирования файла конфигурации.

Замена символов производится в несколько этапов: пользовательские правила замены → базовые правила замены → транслитерация.

Базовые правила замены представляют собой файл конфигурации, поставляемый вместе с модулем синхронизации. Файл содержит базовый набор несинхронизируемых символов согласно требованиям домена.

Файл должен иметь имя base_rule.yaml и располагаться в директории /opt/rbta/aldpro/syncer/services/utils/

Важно

Файл с базовыми правилами нельзя редактировать. Здесь содержатся корректные правила замены. Внесение изменений в файл оказывает влияние на работу модуля синхронизации.

Пользовательские правила замены представляют собой файл конфигурации, позволяющий настраивать правила замены и расширять список символов. Не входит в конфигурацию модуля синхронизации.

Файл должен иметь имя custom_rule.yaml и располагаться в директории /opt/rbta/aldpro/syncer/services/utils/

Названия атрибутов внутри файла с пользовательскими правилами замены необходимо указывать в нижнем регистре.

Структура файла

version: 2.4.0

customrule:
type-user:
   uid:
   - rule:
            source:
            - "^"
            dest: "_"
type-group:
   cn:
   - rule:
            source:
            - "^"
            dest: "_"
type-ou:
   ou:
   - rule:
            source:
            - ",,"
            dest: "aa."

где:

  • version — версия ALD Pro;

  • customrule — заголовок;

  • type-user (type-group, type-ou) — тип объекта синхронизации;

  • uid (cn, ou) — атрибуты объектов домена ALD Pro.

Примечание

  1. Настройка пользовательских правил замены должна производиться перед добавлением сопоставлений подразделений. Замена, добавленная после создания сопоставления подразделения, будет обрабатываться только для новых, измененных объектов или при пересоздании сопоставления подразделений.

  2. Правила в файле конфигурации выполняются сверху вниз, слева направо (в случае, если несколько специальных символов заменяются одной комбинацией).

  3. Правила замены запрещенных символов применяются одинаково ко всем символам, вне зависимости от порядкового номера символов в атрибуте.

  4. Если для некоторых атрибутов требуется, чтобы первый символ был буквенно-цифровым, то правило замены обязательно должно это учитывать.

Описание базовых правил замены

Базовые правила замены для объекта «Пользователь»

Атрибуты, для которых реализованы правила замены:

Атрибуты для объекта «Пользователь»

Атрибут

Наименование

uid

Логин

sn

Фамилия

givenname

Имя

displayname

Отображаемое имя

title

Должность

street

Улица

l

Город

st

Область, край

c

Страна или регион

Атрибуты Электронный адрес, Мобильный телефон и Почтовый индекс исключены из правил замены.

uid

Локализация: латиница, нижний регистр

Использование цифр: разрешено, но не могут быть только цифры

Использование специальных символов: разрешено, кроме первого символа. Можно использовать: _ , . и -.

Использование пробелов, символа переноса строки, символа табуляции: запрещено

Первый символ: буквенно-цифровой символ (буква или цифра)

Последний символ: все разрешенные символы

Символы в uid

Символ

Замена

Удвоенный символ

,

a.

aa.

;

b

bb.

:

c.

cc.

!

d.

dd.

?

e.

ee.

'

f.

ff.

h.

hh.

»

g.

gg.

«

h.

hh.

(

x.

xx.

)

i.

ii.

{

j.

jj.

}

k.

kk.

[

q.

qq.

]

l.

ll.

$

p.

pp.

#

n.

nn.

o.

oo.

%

r.

rr.

@

s.

ss.

&

t.

tt.

l

u.

uu.

\

v.

vv.

/

y.

yy.

“ ”

z.

zz.

t

a_

aa_

n

b_

bb_

^

c_

cc_

=

d_

dd_

+

e_

ee_

*

f_

ff_

<

h_

hh_

>

g_

gg_

SN, GIVENNAME

Локализация: кириллица и латиница

Использование цифр: разрешено

Использование специальных символов: _, -, . , $

Использование пробелов: разрешено

Использование символа переноса строки, символа табуляции: запрещено

Первый символ: все разрешенные символы кроме пробела

Последний символ: все разрешенные символы кроме пробела

Символы в givenname

Символ

Замена

Удвоенный символ

,

a.

aa.

;

b

bb.

:

c.

cc.

!

d.

dd.

?

e.

ee.

'

f.

ff.

h.

hh.

»

g.

gg.

«

h.

hh.

(

x.

xx.

)

i.

ii.

{

j.

jj.

}

k.

kk.

[

q.

qq.

]

l.

ll.

$

p.

pp.

#

n.

nn.

o.

oo.

%

r.

rr.

@

s.

ss.

&

t.

tt.

l

u.

uu.

\

v.

vv.

/

y.

yy.

“ ”

z.

zz.

t

a_

aa_

n

b_

bb_

^

c_

cc_

=

d_

dd_

+

e_

ee_

*

f_

ff_

<

h_

hh_

>

g_

gg_

DISPLAYNAME

Локализация: кириллица и латиница

Использование цифр: разрешено

Использование специальных символов: ASCII (коды от 32 до 126 включительно)

Использование пробелов: разрешено

Использование символа переноса строки, символа табуляции: запрещено

Первый символ: все разрешенные символы кроме пробела

Последний символ: все разрешенные символы кроме пробела

Символы в displayname

Символ

»

«

t

n

{

}

l

Замена

o.

g.

h.

a_

b_

j.

k.

u.

Удвоенный символ

oo.

gg.

hh.

aa_

bb_

jj.

kk.

uu.

TITLE, STREET, ST, L, C

Локализация: кириллица и латиница

Использование цифр: разрешено

Использование специальных символов: ASCII-символы (коды от 32 до 126 включительно)

Использование пробелов: разрешено

Использование символа переноса строки, символа табуляции: запрещено

Первый символ: буквы и цифры

Последний символ: все, кроме пробела

Символы в title

Символ

»

«

t

n

{

}

l

Замена

o.

g.

h.

a_

b_

j.

k.

u.

Удвоенный символ

oo.

gg.

hh.

aa_

bb_

jj.

kk.

uu.

Базовые правила замены для объекта «Группа пользователей»

Атрибуты, для которых реализованы правила замены:

Атрибуты с заменой для объекта «Группа пользователей»

Атрибут

Наименование

cn

Название

description

Описание

cn

Локализация: латиница, нижний регистр.

Использование цифр: разрешено, но не могут быть только цифры

Использование специальных символов: разрешено, кроме первого символа. Можно использовать: _ , . и -.

Использование пробелов, символа переноса строки, символа табуляции: запрещено

Первый символ: буквенно-цифровой символ (буква или цифра)

Последний символ: все разрешенные символы и „$“

Символы в cn

Символ

Замена

Удвоенный символ

,

a.

aa.

;

b

bb.

:

c.

cc.

!

d.

dd.

?

e.

ee.

'

f.

ff.

h.

hh.

»

g.

gg.

«

h.

hh.

(

x.

xx.

)

i.

ii.

{

j.

jj.

}

k.

kk.

[

q.

qq.

]

l.

ll.

$

p.

pp.

#

n.

nn.

o.

oo.

%

r.

rr.

@

s.

ss.

&

t.

tt.

l

u.

uu.

\

v.

vv.

/

y.

yy.

“ ”

z.

zz.

t

a_

aa_

n

b_

bb_

^

c_

cc_

=

d_

dd_

+

e_

ee_

*

f_

ff_

<

h_

hh_

>

g_

gg_

DESCRIPTION

Локализация: кириллица и латиница

Использование цифр: разрешено

Использование специальных символов: ASCII-символы (коды от 32 до 126)

Использование пробелов, символа переноса строк: разрешено, но не может быть первым и последним символом

Использование символа табуляции: запрещено

Первый символ: все разрешенные значения, кроме пробелов

Последний символ: все разрешенные значения, кроме пробелов

Символы в description

Символ

»

«

t

n

{

}

l

Замена

o.

g.

h.

a_

b_

j.

k.

u.

Удвоенный символ

oo.

gg.

hh.

aa_

bb_

jj.

kk.

uu.

Базовые правила замены для объекта «Подразделение»

Атрибуты, для которых реализованы правила замены:

Атрибуты с заменой для объекта «Подразделение»

Атрибут

Наименование

ou

Название

ou

Локализация: кириллица и латиница

Использование цифр: разрешено

Использование специальных символов: -, _, ", « » .

Использование пробелов, символа переноса строки: разрешено, но не может быть первым и последним символом.

Использование символа табуляции: запрещено

Первый символ: все разрешенные значения, кроме пробелов.

Последний символ: все разрешенные значения, кроме пробелов.

Символы в ou

Символ

Замена

Удвоенный символ

,

a.

aa.

;

b

bb.

:

c.

cc.

!

d.

dd.

?

e.

ee.

'

f.

ff.

h.

hh.

»

g.

gg.

«

h.

hh.

(

x.

xx.

)

i.

ii.

{

j.

jj.

}

k.

kk.

[

q.

qq.

]

l.

ll.

$

p.

pp.

#

n.

nn.

o.

oo.

%

r.

rr.

@

s.

ss.

&

t.

tt.

l

u.

uu.

\

v.

vv.

/

y.

yy.

“ ”

z.

zz.

t

a_

aa_

n

b_

bb_

^

c_

cc_

=

d_

dd_

+

e_

ee_

*

f_

ff_

<

h_

hh_

>

g_

gg_